package com.waitingresult.annocation;
/*
 注解的学习与使用

元注解：
    用途：是用来修饰其他注解的 注解
    JDK自带的注解：
        @Retetion ： 指定生命周期
            RetentionPolicy.SOURCE // 注解仅存于源码中，在class文件中并不包含
            @Retention(RetentionPolicy.CLASS) // 默认的保留策略，注解会在class字节码文件中存在，但运行时无法获得，
            @Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在，在运行时可以通过反射获取到  这个也是最常用的
        @Target
            @Target(ElementType.TYPE) //接口、类、枚举
            @Target(ElementType.FIELD) //字段、枚举的常量
            @Target(ElementType.METHOD) //方法
            @Target(ElementType.PARAMETER) //方法参数
            @Target(ElementType.CONSTRUCTOR) //构造函数
            @Target(ElementType.LOCAL_VARIABLE) //局部变量
            @Target(ElementType.ANNOTATION_TYPE) //注解
            @Target(ElementType.PACKAGE) //包
        @Documented //说明该注解将被包含在javadoc中
        @Inherited //说明子类可以继承父类中的该注解

    自定义注解的学习



 */